import json
from ..model.Site import Site
from . import db

# 查询
def getSite(id=None):
    sql = ''
    if not id:
        # 查询所有结果
        sql = 'select * from SiteTb;'
        rows = db.query(sql)
        sites = []
        for row in rows:
            item = Site(row[0],row[1],row[2],row[3],row[4],row[5],row[6],row[7])
            sites.append(item.toDic())
        print('getSite')
        return json.dumps(sites)
    else:
        # 查询单个结果
        sql = f"select * from SiteTb where id={id};"
        # 读取记录
        row = db.query(sql).fetchone()
        # 如果查询结果为空
        if not row:
            return None
        item = Site(row[0],row[1],row[2],row[3],row[4],row[5],row[6],row[7])
        return json.dumps(item.toDic())

# 修改
def setSite(site:Site):
    sql = f"update SiteTb set name=?,site=?,province=?,city=?,district=?,street=?,creater=? where id={site.id}"
    # 返回值应该是1
    if db.goSQL(sql,Site.toCell()[1:]).rowcount:
        return True
    else:
        return False

# 新增
def addSite(site:Site):
    sql = f"insert into SiteTb (name,site,province,city,district,street,creater) values(?,?,?,?,?,?,?);"
    # 返回值为sid
    res = db.goSQL(sql,site.toCell()[1:]).lastrowid
    print(res)
    if not res:
        return False
    return json.dumps({'sid':res})

# 删除
def delSite(id):
    sql = f"delete from SiteTb where id={id};"
    # 返回值应该是1
    if db.goSQL(sql):
        return True
    else:
        return False